#ifndef GTrie_hpp
#define GTrie_hpp

#include <vector>
#include <string>

template <typename T> class GTrie {
	std::vector<T> 		values;
	std::vector<GTrie *> children;
	int					qtyChildren;
public:
	GTrie();
	virtual ~GTrie();
	void insert(std::string path, T value);
	std::vector<T> retrieve(std::string path);
	void remove(std::string path);
};

#include <GTrie.inl>

#endif
